package br.com.Atv09.cadastroclientes.negocio;

import java.util.List;

import br.com.Atv09.cadastroclientes.dominio.Cliente;
import br.com.Atv09.cadastroclientes.dominio.ClienteHistorico;
import br.com.Atv09.cadastroclientes.negocio.exceptions.CampoObrigatorio;
import br.com.Atv09.cadastroclientes.negocio.exceptions.ClienteNaoExiste;
import br.com.Atv09.cadastroclientes.negocio.exceptions.MesAnoNaoPermitidos;

public interface IFachada {

	public void inserirOuAtualizarCliente(Cliente cliente) throws CampoObrigatorio;
	
	public void excluirCliente(String cpf) throws CampoObrigatorio, ClienteNaoExiste;
	
	public List<ClienteHistorico> listarHistoricoCliente(String cpf) throws CampoObrigatorio, ClienteNaoExiste;
	
	public void gerarCartaCobranca(Integer mes, Integer ano) throws CampoObrigatorio, MesAnoNaoPermitidos;
}
